Currently, because of lack of resources, electric vehicles as new energy traffic vehicles are booming. Batteries as energy supply source of the electric vehicle become especially important, and accordingly software battery management systems become core of the electric vehicle.
Due to the large number of the batteries, the battery management system adopts a distributed structure. FIG. 1 is a block diagram of a conventional distributed battery management system. As shown in FIG. 1, the distributed battery management system comprises a plurality of layers of nodes, where a third layer comprises a plurality of collectors; a second layer comprises a plurality of assistant controllers; a first layer comprises a main controller; and individual layers are connected via a CAN (Controller Area Network) bus. For carrying out the management, each node needs to be programmed. A conventional programming method is carrying out the software programming one to one, which needs to connect with the main control CAN network when the CAN programs a main controller program, needs to connect with the assistant control CAN network when the CAN programs an assistant controller program, and needs to connect with the collector network when the CAN programs a collector program.
The problem of the conventional software programming is, when the distributed battery management system is installed in a vehicle, the entire battery management system only has one diagnosing interface, and thus the method of one-to-one software programming can only program the main controller program, but cannot update the assistant controller program and the collector program. Therefore, if the assistant controller program and the collector program need to be updated, the distributed battery management system should be uninstalled, which brings inconvenience to the debug and updating of the software.